package com.cntcdt.api.db.model.base;

import java.io.Serializable;
import java.sql.ResultSet;
import java.util.Date;

/**
 * 这是add_line_history的数据传输对象基类,直接与表对应<br>
 */
public abstract class AddLineHistoryModelBase  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 属性:id<br>
     */
    private Integer id = 0;
    /**
     * 属性:addLineUserId<br>
     */
    private Integer addLineUserId = 0;
    /**
     * 属性:lineNum1<br>
     */
    private Integer lineNum1 = 0;
    /**
     * 属性:lineNum2<br>
     */
    private Integer lineNum2 = 0;
    /**
     * 属性:lineNum3<br>
     */
    private Integer lineNum3 = 0;
    /**
     * 属性:lineNum4<br>
     */
    private Integer lineNum4 = 0;
    /**
     * 属性:0表示增量补线，1表示重置数量<br>
     * 含义:0表示增量补线，1表示重置数量<br>
     */
    private Integer type = 0;
    /**
     * 属性:addTime<br>
     */
    private Date addTime = new Date();
    /**
     * 属性:updateTime<br>
     */
    private Date updateTime = new Date();
    
    private String terminal = "";

    /**
     *  默认构造方法,构造一个默认的AddLineHistoryModelBase对象
     */
    public AddLineHistoryModelBase(){
    }

    /**
     *  构造函数
     *  @param rs 数据库查询结果集
     */
    public AddLineHistoryModelBase(ResultSet rs){
           try{
               this.id = rs.getInt("id");
               this.addLineUserId = rs.getInt("addLineUserId");
               this.lineNum1 = rs.getInt("lineNum1");
               this.lineNum2 = rs.getInt("lineNum2");
               this.lineNum3 = rs.getInt("lineNum3");
               this.lineNum4 = rs.getInt("lineNum4");
               this.type = rs.getInt("type");
               this.addTime = rs.getDate("addTime");
               this.updateTime = rs.getDate("updateTime");
               this.terminal = rs.getString("terminal");
           }catch(Exception e) {
              e.printStackTrace(); 
           }
    }


    public String getTerminal() {
		return terminal;
	}

	public void setTerminal(String terminal) {
		this.terminal = terminal;
	}

	/**
     * 设置属性id<br>
     * @param id 待设置的属性id的值
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取属性id<br>
     * @return 属性id的值
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置属性addLineUserId<br>
     * @param addLineUserId 待设置的属性addLineUserId的值
     */
    public void setAddLineUserId(Integer addLineUserId) {
        this.addLineUserId = addLineUserId;
    }

    /**
     * 获取属性addLineUserId<br>
     * @return 属性addLineUserId的值
     */
    public Integer getAddLineUserId() {
        return addLineUserId;
    }

    /**
     * 设置属性lineNum1<br>
     * @param lineNum1 待设置的属性lineNum1的值
     */
    public void setLineNum1(Integer lineNum1) {
        this.lineNum1 = lineNum1;
    }

    /**
     * 获取属性lineNum1<br>
     * @return 属性lineNum1的值
     */
    public Integer getLineNum1() {
        return lineNum1;
    }

    /**
     * 设置属性lineNum2<br>
     * @param lineNum2 待设置的属性lineNum2的值
     */
    public void setLineNum2(Integer lineNum2) {
        this.lineNum2 = lineNum2;
    }

    /**
     * 获取属性lineNum2<br>
     * @return 属性lineNum2的值
     */
    public Integer getLineNum2() {
        return lineNum2;
    }

    /**
     * 设置属性lineNum3<br>
     * @param lineNum3 待设置的属性lineNum3的值
     */
    public void setLineNum3(Integer lineNum3) {
        this.lineNum3 = lineNum3;
    }

    /**
     * 获取属性lineNum3<br>
     * @return 属性lineNum3的值
     */
    public Integer getLineNum3() {
        return lineNum3;
    }

    /**
     * 设置属性lineNum4<br>
     * @param lineNum4 待设置的属性lineNum4的值
     */
    public void setLineNum4(Integer lineNum4) {
        this.lineNum4 = lineNum4;
    }

    /**
     * 获取属性lineNum4<br>
     * @return 属性lineNum4的值
     */
    public Integer getLineNum4() {
        return lineNum4;
    }

    /**
     * 设置属性0表示增量补线，1表示重置数量<br>
     * 含义:0表示增量补线，1表示重置数量<br>
     * @param type 待设置的属性0表示增量补线，1表示重置数量的值
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取属性0表示增量补线，1表示重置数量<br>
     * 含义:0表示增量补线，1表示重置数量<br>
     * @return 属性0表示增量补线，1表示重置数量的值
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置属性addTime<br>
     * @param addTime 待设置的属性addTime的值
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * 获取属性addTime<br>
     * @return 属性addTime的值
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * 设置属性updateTime<br>
     * @param updateTime 待设置的属性updateTime的值
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取属性updateTime<br>
     * @return 属性updateTime的值
     */
    public Date getUpdateTime() {
        return updateTime;
    }


    /**
     * 比较两个对象在逻辑上是否相等
     * @see java.lang.Object#equals(java.lang.Object)
     */
    public boolean equals(Object other) {
        if (this == other) {
            return true;
        }
        if (!(other instanceof AddLineHistoryModelBase)) {
            return false;
        }

        final AddLineHistoryModelBase otherModel = (AddLineHistoryModelBase) other;
        if (getId()!=null && !getId().equals(otherModel.getId())) {
            return false;
        }
        return true;
    }

    /**
     * 根据主键生成HashCode
     * @see java.lang.Object#hashCode()
     */
    public int hashCode() {
        StringBuffer buffer = new StringBuffer();
        buffer.append('|').append(id);
        return buffer.toString().hashCode();
    }
}
